package br.faimg.pomar.modelo.dao;

import br.faimg.pomar.modelo.interfaces.CRUDInterface;

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
import br.faimg.pomar.modelo.pojo.Estacao;
import br.faimg.pomar.modelo.pojo.OrdemProducao;
import br.faimg.pomar.modelo.pojo.Produto;
import br.faimg.pomar.modelo.pojo.RotaEstacao;
import br.faimg.pomar.modelo.pojo.RotaProduto;
import br.faimg.pomar.modelo.pojo.TipodeProduto;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;

/**
 *
 * @author flavio
 */
public class RotaProdutoDAO implements CRUDInterface<RotaProduto> {

    public void create(RotaProduto pojo) {
        throw new UnsupportedOperationException("Not supported yet.");
    }

    public void update(RotaProduto pojo) {
        throw new UnsupportedOperationException("Not supported yet.");
    }

    public List<RotaProduto> readByExample(RotaProduto pojo) {

        Connection con = null;
        PreparedStatement stm = null;
        ResultSet rs = null;

        String sql = null;

        List<RotaProduto> rotaprodutos = new ArrayList<RotaProduto>();
        boolean pesquisaParametrizada = false;

        if (pojo != null) {

            if (pojo.getOrdemProducao().getNumOrp() == null) {
                sql = "select * from rota_produto";
            } else {
                sql = "select * from rota_produto where rtp_orp_numero = ?";
                pesquisaParametrizada = true;
            }

            con = ConnectionManager.getInstance().getConnection();
            try {
                stm = con.prepareStatement(sql);

                if (pesquisaParametrizada) {
                    stm.setInt(1, pojo.getOrdemProducao().getNumOrp());
                }

                rs = stm.executeQuery();

                while (rs.next()) {
                    RotaProduto rtemp = new RotaProduto();
                    OrdemProducao otemp = new OrdemProducao();

                    rtemp.setCodigo(rs.getString("rtp_codigo"));
                    rtemp.setDescricao(rs.getString("rtp_descricao"));
                    otemp.setNumOrp(rs.getInt("rtp_orp_numero"));
                    rtemp.setOrdemProducao(otemp);
                    rotaprodutos.add(rtemp);
                }

            } catch (SQLException ex) {
                Logger.getLogger(RotaProdutoDAO.class.getName()).log(Level.SEVERE, null, ex);
            }

        }

        return rotaprodutos;

    }

    public RotaProduto readById(String codigo) {
        throw new UnsupportedOperationException("Not supported yet.");
    }

    public void delete(String codigo) {
        throw new UnsupportedOperationException("Not supported yet.");
    }

    public RotaProduto readById(Integer codigo) {
        throw new UnsupportedOperationException("Not supported yet.");
    }

    public void delete(Integer codigo) {
        throw new UnsupportedOperationException("Not supported yet.");
    }
}
